package com.renbang.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.renbang.dao.BaseDao;
import com.renbang.model.common.Page;
/**
 * 
 * @description 共同service抽象类所有service类只要继承这个类就有了增删改成的service方法
 * @author user
 * @date 2017年4月27日
 */
public abstract class BaseServicesImp<T> implements BaseServices<T>{
	@Autowired
	BaseDao<T> BaseDao;
	
	/* 新增记录 */
	public int add(T obj) {
		return BaseDao.insert(obj);
	}

	/* 更新记录*/
	public int modify(T obj) {
		return BaseDao.update(obj);
	}

	/* 批量删除记录*/
	public int removeByIds(List<String> list) {
		return BaseDao.deleteByIds(list);
	}

	/*根据id删除记录*/
	public int removeById(Integer id) {
		return BaseDao.deleteById(id);
	}

	/* 分页查询记录*/
	public List<T> findInPage(T obj, Page page) {
		return BaseDao.selectInPage(obj, page);
	}
	
	/* 根据对象查询记录 */
	public List<T> findByModel(T obj) {
		return BaseDao.selectByModel(obj);
	}

	/*统计记录数记录*/
	public int findTotal(T obj) {
		return BaseDao.selectTotalRecord(obj);
	}

	/*根据id查询记录*/
	public T findById(Integer id) {
		return BaseDao.selectById(id);
	}
	
	/*批量插入记录*/
	public int batchAdd(List<T> objList) {
		return BaseDao.batchInsert(objList);
	}

}
